<?php
/**
 * Application model for Cake.
 *
 * This file is application-wide model file. You can put all
 * application-wide model-related methods here.
 *
 * PHP 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.Model
 * @since         CakePHP(tm) v 0.2.9
 * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
 */

App::uses('Model', 'Model');

/**
 * Application model for Cake.
 *
 * Add your application-wide methods in the class below, your models
 * will inherit them.
 *
 * @package       app.Model
 */
class AppModel extends Model
{
    var $actsAs = array('Containable');
    var $inserted_ids = array();

    function afterSave($created)
    {
        if ($created) {
            $this->inserted_ids[] = $this->getInsertID();
        }
        return true;
    }

    function getInsertedIds($model = NULL)
    {
        return $this->inserted_ids;
    }

    function getNextAutoIncrement()
    {
        $table = Inflector::tableize($this->name);
        $info = $this->query("SHOW TABLE STATUS LIKE '$table'");
        return $info[0]['TABLES']['Auto_increment'];
    }

    /** General usage,
     * this might be useful for some rare occasions.
     * It returns all fields of the current database table except the ones you blacklisted. */
    function blacklist($blackList = array())
    {
        return array_diff(array_keys($this->schema()), $blackList);
    }

    function compareDate($bigger,$smaller){
        $today_dt = new DateTime($bigger);
        $expire_dt = new DateTime($smaller);

        if ($expire_dt < $today_dt) { //Past
            return 'past';
        }
        elseif($expire_dt == $today_dt){
            return 'present';
        }
        else{//Future
            return 'future';
        }
    }
}